package cn.tedu.crm.orders.mapper;

import cn.tedu.crm.deposit.pojo.vo.OrdersDepositVO;
import cn.tedu.crm.deposit.pojo.vo.ProjectVO;
import cn.tedu.crm.orders.pojo.dto.OrdersQuery;
import cn.tedu.crm.orders.pojo.dto.OrdersQueryByStaffId;
import cn.tedu.crm.orders.pojo.entity.Drawing;
import cn.tedu.crm.orders.pojo.entity.Orders;
import cn.tedu.crm.orders.pojo.entity.RefundApplication;
import cn.tedu.crm.orders.pojo.entity.Scheme;
import cn.tedu.crm.orders.pojo.vo.OrderDetailVO;
import cn.tedu.crm.orders.pojo.vo.OrdersImgVO;
import cn.tedu.crm.orders.pojo.vo.OrdersVO;
import cn.tedu.crm.project.pojo.dto.AuditParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface OrdersMapper extends BaseMapper<Orders> {
    List<OrdersVO> load(OrdersQuery ordersQuery);


    List<OrdersImgVO> loadImg(Long orderId);

    int imgAdd(Drawing drawing);

    OrdersDepositVO selectOrdersByIdCustomer(Long id);

    Long loadByStaffId(OrdersQueryByStaffId ordersQueryByStaffId);

    Long userByStaffId(OrdersQueryByStaffId ordersQueryByStaffId);

    Long costByStaffId(OrdersQueryByStaffId ordersQueryByStaffId);

    void delete(Long id);

    Long addScheme(Scheme scheme);

    int update(Orders orders);

    void refundAdd(RefundApplication refundApplication);

    void refundAddReason(RefundApplication refundApplication);

    OrderDetailVO details(Long id);

    Long getUserId(Long id);

    void imgDel(Long id);

    ProjectVO selectPeojectById(Long id);

    Drawing selectDrawingByOrderId(Long id);

    Long selectCIDByOrderId(Long id);

    Long selectDesignerId(Long customerId);
}
